<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //对象解构
        // const obj = {
        //     name: `比特科技`,
        //     age: 9,
        //     address: `陕西省西安市⾼新区沣惠南路34号`
        // }

        //eg1:把obj的三个属性分别赋值给变量name,age,address
        //以前的写法
        // let name=obj.name
        // let age=obj.age
        // let address=obj.address

        //现在的写法
        // let {name,age,address}=obj//其中的顺序不重要，可以任意位置
        // console.log(name,age,address)

        //原理
        // let {age:age,name:name,address:address}={
        //     name:`比特科技`,
        //     age:9,
        //     address:`陕西省西安市⾼新区沣惠南路34号`
        // }
        // console.log(name,age,address)

        //eg2:把obj的name,age属性值赋值给变量name,age
        // let {name,age}=obj;
        // console.log(name,age)

        //eg3:把obj的name属性值赋值给变量name,剩余的赋值给变量rest
        // let {name,...rest}=obj;
        // console.log(name,rest)

        //eg4:把obj的name属性值赋值给变量uname
        // let {name:uname}=obj
        // console.log(uname)

        const obj = {
            data: {
                code: 10000,
                message: '频道列表获取成功',
                result: ['HTML', 'CSS', 'JavaScript', 'Vue', 'SprintBoot']
            },
            status: 200,
            statusText: 'Ok'
        }
        //eg5:把 obj 中的 code, message, result 的值取出来赋值给变量 code, message, list
        //对于有嵌套的情况，先逐渐从外向内一层层的进行取

        //解构拿到data
        let {data}=obj;
        console.log(data)

        //再解构data
        let {message,code,result}=data
        console.log(code,message,result)

    </script>
</body>

</html>